<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>电梯导航效果</title>
    <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    html {
      scroll-behavior: smooth;
    }

    section {
      height: 800px; /* 每个区域高度，模拟长页面 */
      padding: 50px;
      border-bottom: 1px solid #eee;
    }
    #fresh { background-color: #f8f0f2; }
    #popular { background-color: #f0f8f2; }
    #brand { background-color: #f0f0f8; }
    #topic { background-color: #f8f8f0; }

    /* 电梯导航（ul li 结构） */
    .elevator {
      position: fixed;
      right: 30px;
      top: 50%;
      transform: translateY(-50%); /* 垂直居中 */
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
      padding: 10px 0;
    }

    /* ul 清除默认样式 */
    .elevator ul {
      list-style: none; /* 去掉默认圆点 */
    }

    /* li 项样式 */
    .elevator li {
      margin: 0; /* 清除默认外边距 */
    }

    /* 链接样式 */
    .elevator a {
      display: block; /* 让链接占满 li，点击区域更大 */
      width: 80px;
      height: 40px;
      line-height: 40px; /* 文字垂直居中 */
      text-align: center; /* 文字水平居中 */
      text-decoration: none; /* 去掉下划线 */
      color: #333;
      font-size: 14px;
      transition: all 0.3s; /* 过渡动画 */
    }

    /* 鼠标悬停/激活状态 */
    .elevator a:hover,
    .elevator a.active {
      background-color: #ff69b4;
      color: white;
    }
    </style>
</head>
<body>
    <section id="fresh">
        <h2>新鲜好物</h2>
        <p>这里是新鲜好物的内容...</p>
    </section>
    <section id="popular">
        <h2>人气推荐</h2>
        <p>这里是人气推荐的内容...</p>
    </section>
    <section id="brand">
        <h2>热门品牌</h2>
        <p>这里是热门品牌的内容...</p>
    </section>
    <section id="topic">
        <h2>最新专题</h2>
        <p>这里是最新专题的内容...</p>
    </section>
    <nav class="elevator">
        <ul>
            <li><a href="#fresh">新鲜好物</a></li>
            <li><a href="#popular">人气推荐</a></li>
            <li><a href="#brand">热门品牌</a></li>
            <li><a href="#topic">最新专题</a></li>
            <li><a href="#" id="backToTop">回到顶部</a></li> 
        </ul>
    </nav>

    <script>
        // 获取所有导航链接和内容区域
        const navLinks = document.querySelectorAll('.elevator a');
        const sections = document.querySelectorAll('section');
        const backToTop = document.getElementById('backToTop');

        // 回到顶部功能
        backToTop.addEventListener('click', function(e) {
            e.preventDefault();
            window.scrollTo({
                top: 0,
                behavior: 'smooth'
            });
        });

        // 监听滚动事件，实现导航高亮
        window.addEventListener('scroll', function() {
            let current = '';
            
            // 检查哪个区域在可视范围内
            sections.forEach(section => {
                const sectionTop = section.offsetTop;
                const sectionHeight = section.clientHeight;
                // 当滚动位置超过区域顶部一定距离时，认为该区域为当前区域
                if (window.pageYOffset >= sectionTop - 150) {
                    current = section.getAttribute('id');
                }
            });

            // 移除所有激活状态，给当前区域对应的导航添加激活状态
            navLinks.forEach(link => {
                link.classList.remove('active');
                // 特殊处理回到顶部按钮
                if (link.getAttribute('href') === `#${current}` || 
                    (current === '' && link === backToTop)) {
                    link.classList.add('active');
                }
            });
        });

        // 初始化时触发一次滚动事件，设置初始状态
        window.dispatchEvent(new Event('scroll'));
    </script>
</body>
</html>